<?php 
namespace app\rpc;

use \Hprose\Http\Server;

class service {

    // 方法列表
    public $funs = [
        'test',
        'add_queue'
    ] ;

    // 注册方法
    public function init(){ 
        $server=new Server();
        foreach ($this->funs as $fun ) {
            $server->addMethod($fun,$this); 
        }
        $server->start(); 
    } 
    
    // 测试方法
    public function test($info=null){ 
        return 'hello'.$info; 
    } 

    // 视频转码 队列添加
    public function add_queue($info=null){
        //$this->R();
        //$status = $this->redis->SET('test1', json_encode($info) );

        $names = explode('.',$info['fileMeta']['name']);

        $info = [
            'vname'  => $names[0] ,                     // 源文件名称
            'vtype'  => $info['fileMeta']['suffix'] ,   // 源文件类型
            'type'   => ucfirst($info['fileMeta']['datatable']) , // 源文件类型
            'vcode'  => '' ,                            // 指定编码扩展
            'totype' => $info['to_type'] ,              // 转换到的文件类型 rmvb
            'file'   => $info['web_url'].'/Uploads/'.$info['fileMeta']['file_path'],
            'item_id'=> $info['fileMeta']['id'] ,
            'web_url'=> $info['web_url'] ,
            'numds'  => $info['numds'] ,
            'water'  => $info['water'] ,

            // http://ffmpeg.club/ff
            // http://192.168.200.81:8072/think/public/ff
            // http://ffmpeg_80.club/ff
            // http://ffmpeg_80.club/image
            // http://192.168.200.81:8072/think/public/ff/mv.mp4
        ] ;

        \think\Queue::push('crontab/Run@fire', $info , 'run') ;

    }

    public $redis   = null ;
    private function R() {
        if ( ! $this->redis) {
            $this->redis = \think\facade\Cache::store('redis')->handler();
            //\think\facade\Cache::store('default');
        }

        return $this->redis;
    }
}